#ifndef SMSSERVICEIPC_H
#define SMSSERVICEIPC_H
#include <e32base.h>
#include <e32property.h>

class MSmsServiceIPCObserver
{
public:
    virtual void IntPropertyUpdatedL( TInt aValue) = 0;
};

typedef enum tag_TPropertyKey
{
    EPropertyInt=0
}TPropertyKey;
class CSmsServiceIPC: CActive
{
public:
    CSmsServiceIPC( const TUid aUid, const TUint32 aKey,
            MSmsServiceIPCObserver &aNotifier);
    static CSmsServiceIPC* NewLC( const TUid aUid, const TUint32 aKey,
            MSmsServiceIPCObserver &aNotifier);
    static CSmsServiceIPC* NewL( const TUid aUid, const TUint32 aKey,
            MSmsServiceIPCObserver &aNotifier);
    virtual ~CSmsServiceIPC();
private:
    void ConstructL();
    void RunL();
    void DoCancel();
private:
    const TUid iUid;
    const TUint32 iKey;
    MSmsServiceIPCObserver& iObserver;
    RProperty iProperty;
};

#endif
